#include "header.h"

// 登录 注册
int login_or_reg(int sok_fd)
{
    char buf[128];  // 缓冲区
    char name[128]; // 存储用户名
    char pas[128];  // 存储密码
    int option;     // 选择登录或注册
    int num = 3;    // 登录输入错误次数
    while (1)
    {
        printf("===== 1注册 2登录 =====\n");
        memset(buf, 0, sizeof(buf));
        scanf("%d", &option);
        switch (option)
        {
        case 1:
            //@ 区分注册或登录
            strcpy(buf, "@ ");
            printf("输入用户名:");
            scanf("%s", name);
            strcat(buf, name);
            strcat(buf, " ");
            printf("输入密码:");
            scanf("%s", pas);
            strcat(buf, pas);
            //向服务器发送消息
            send(sok_fd, buf, strlen(buf), 0);
            
            //清空buf缓冲区
            memset(buf, 0, sizeof(buf));
            //接收服务器消息
            recv(sok_fd, buf, sizeof(buf), 0);
            printf("%s\n", buf);
            break;
        case 2:
            printf("输入用户名:");
            scanf("%s", name);
            strcat(buf, name);
            strcat(buf, " ");
            printf("输入密码:");
            scanf("%s", pas);
            strcat(buf, pas);
            //向服务器发送消息
            send(sok_fd, buf, strlen(buf), 0);

            //清空buf缓冲区
            memset(buf, 0, sizeof(buf));
            //接收服务器消息
            recv(sok_fd, buf, sizeof(buf), 0);
            printf("%s\n", buf);
            if (strcmp(buf, "登录成功!") == 0)
            {
                  return -1;
            }
            else
            {
                num--;
                if (num == 0)
                {
                    printf("三次输入错误 即将退出程序\n");
                    exit(-1);
                }
            }
            break;
        default:
            break;
        }
    }
    return 0;
}



